#ifndef HEURISTIC_H
#define HEURISTIC_H
#include <QPoint>
#include <cmath>

class Heuristic
{
public:
    virtual double heuristic(QPointF from, QPointF to)=0;
};


class Euclides : public Heuristic
{
public:
    double heuristic(QPointF from, QPointF to)
    {
        return ((from.x()-to.x())*(from.x()-to.x())+(from.y()-to.y())*(from.y()-to.y()));
    }
};

class ZeroHeuristic : public Heuristic
{
public:
    double heuristic(QPointF, QPointF)
    {
        return 0;
    }

};

#endif // HEURISTIC_H
